// import { defineStore, storeToRefs } from "pinia";
// import { usePersistStore } from "@/stores";
// import { ref } from "vue";
// import router from "@/router";
// //表格数据读取相关
// import * as XLSX from "xlsx";
// import { readFileAsBinaryString } from "@/utils/readFile";
// import { testStr } from "@/utils/function";
// import {
//   addGroupService,
//   delGroupService,
//   getGroupListService,
//   getGroupService,
//   getTobaccoService,
//   modifyGroupService,
//   uploadGroupService,
// } from "@/api/groupApi";
// export const userGroupStore = defineStore("group", () => {
//   const persistStore = usePersistStore();
//   const { groupList, groupTotal,userInfo } = storeToRefs(persistStore);
//   //叶组信息的搜索
//   const groupQueryData = ref({
//     name: "",
//     page: 1,
//     pageSize: 5,
//   });
//   const loading = ref(false);
//   //叶组分页查询请求
//   const getgroup = async () => {
//     loading.value = true;
//     const res = await getGroupListService(groupQueryData.value);
//     groupList.value = res.data.rows;
//     groupTotal.value = res.data.total;
//     loading.value = false;
//   }

//   const submitQuery = () => {
//     getgroup();
//   };
//   const clearQueryData = () => {
//     groupQueryData.value = {
//       name: "",
//       page: 1,
//       pageSize: 5,
//     };
//     getgroup();
//   };
//   //叶组中单料烟的搜索请求
//   const groupTobaccoList = ref([]);
//   const groupTobaccoTotal = ref(0);
//   const gettobacco = async (id) => {
//     const res = await getTobaccoService(id);
//     groupTobaccoList.value = res.data.rows;
//     groupTobaccoTotal.value = res.data.total;
//     ElMessage.success("查找成功");
//   };
//   //叶组中单料烟的搜索
//   const groupSearch = (index, row) => {
//     gettobacco(row.id);
//     router.push("/tobacco/manage");
//   };
//   //叶组信息的分页相关
//   const groupCurrentChange = (page) => {
//     groupQueryData.value.page = page;
//     getgroup();
//   };
//   const groupSizeChange = (pageSize) => {
//     groupQueryData.value.page = 1;
//     groupQueryData.value.pageSize = pageSize;
//     getgroup();
//   };
//   //叶组信息的添加和编辑的抽屉
//   const drawerVisible = ref(false);
//   const drawerTitle = ref("");
//   const number = ref(0);
//   const addGroupForm = ref();
//   //添加叶和编辑组信息的绑定
//   const addGroupData = ref({
//     id: "",
//     name: "",
//     info: "",
//     list: "",
//   });
//   //添加和编辑叶组信息的校验
//   const rules = {
//     name: [
//       {
//         required: true,
//         message: "请输入叶组名称",
//         trigger: "blur",
//       },
//     ],
//     list: [
//       {
//         required: true,
//         message: "请输入输入单料烟组合",
//         trigger: "blur",
//       },
//       {
//         pattern: /^[a-zA-Z0-9\u4e00-\u9fa5,，]+$/,
//         message: "您输入的不正确",
//         trigger: "blur",
//       },
//     ],
//   };
//   //根据id查询叶组信息请求
//   const getgroupById = async (id) => {
//     const res = await getGroupService(id);
//     addGroupData.value = res.data;
//   };
//   //叶组信息的编辑
//   const groupEdit = (index, row) => {
//     drawerVisible.value = true;
//     drawerTitle.value = "编辑叶组";
//     number.value = 1;
//     getgroupById(row.id);
//   };
//   //添加叶组信息
//   const groupAdd = () => {
//     number.value = 0;
//     drawerVisible.value = true;
//     drawerTitle.value = "添加叶组";
//   };
//   //关闭弹窗时，清空数据
//   const closeAddDraw = () => {
//     addGroupData.value = {
//       id: "",
//       name: "",
//       info: "",
//       list: "",
//     };
//   };
//   //叶组信息编辑请求
//   const modifygroup = async () => {
//     const res = await modifyGroupService(addGroupData.value);
//     getgroup();
//     ElMessage.success(res.message);
//   };
//   //叶组信息添加请求
//   const addgroup = async () => {
//     const res = await addGroupService(addGroupData.value);
//     getgroup();
//     ElMessage.success(res.message);
//   };
//   //添加叶组和编辑叶组的提交
//   const submitEvent = async () => {
//     await addGroupForm.value.validate();
//     if (addGroupData.value.list.includes("，")) {
//       addGroupData.value.list = addGroupData.value.list.replace(/，/g, ",");
//     }
//     if (number.value == 1) {
//       modifygroup();
//     } else {
//       addgroup();
//     }
//     addGroupData.value = {
//       id: "",
//       name: "",
//       info: "",
//       list: "",
//     };
//     number.value = 0;
//     drawerVisible.value = false;
//   };
//   //叶组信息删除请求
//   const delgroup = async (id) => {
//     const res = await delGroupService(id);
//     getgroup();
//     ElMessage.success(res.message);
//   };
//   //叶组信息的删除
//   const groupDelete = (index, row) => {
//     ElMessageBox.confirm("你确定要删除该叶组信息吗?", "温馨提示", {
//       confirmButtonText: "确定",
//       cancelButtonText: "取消",
//       type: "warning",
//     })
//       .then(() => {
//         delgroup(row.id);
//       })
//       .catch(() => {
//         ElMessage.success("取消删除");
//       });
//   };
//   //叶组数据的导入
//   const uploadDraw = ref(false);
//   const openUploadDraw = () => {
//     uploadDraw.value = true;
//     drawerTitle.value = "叶组信息导入";
//   };
//   // 表格数据的上传
//   const uploadTableData = ref([]); //数据列表
//   //更改传入的字段名
//   const characters = {
//     name: {
//       text: "名称",
//       type: "string",
//     },
//     info: {
//       text: "说明",
//       type: "string",
//     },
//     list: {
//       text: "单料烟",
//       type: "string",
//     },
//   };
//   const errorNum = ref(0);
//   const file = ref();
//   const showUploadTable = async (ev) => {
//     //每次选择文件都把之前文件清空
//     uploadTableData.value = [];
//     errorNum.value = 0;
//     file.value = ev.raw; //这里面就是数据
//     //console.log("file", file);
//     // 将file变成二进制读取到的
//     let data = await readFileAsBinaryString(file.value);
//     // 将得到的二进制转化一下
//     let workbook = XLSX.read(data, { type: "binary" });
//     //console.log("workbook", workbook); //这里就是可读取的文件了
//     // 最后把数据转成json格式的
//     let worksheet = workbook.Sheets[workbook.SheetNames[0]]; //这里是表格的名字,这里取第一个表格,1就是第二个表格数据
//     //console.log("worksheet", worksheet);
//     //将得到的worksheet转化为json格式
//     data = XLSX.utils.sheet_to_json(worksheet);

//     //将得到的json数据转化一下(因为excel表格的数据都是汉字,但是我们需要绑定的属性是字母,因此需要转换下)

//     data.forEach((item) => {
//       let obj = {};
//       for (let key in characters) {
//         let temp = characters[key], //变量只能用[]来访问
//           text = temp.text,
//           type = temp.type;
//         let value = item[text];
//         if (value) {
//           if (testStr(value)) {
//             value = "*****";
//             errorNum.value++;
//           } else {
//             if (type == "string") {
//               value = String(value);
//             } else if (type == "number") {
//               value = Number(value);
//             } else if (type == "array") {
//               if (value.includes(",")) {
//                 value = value.split(",");
//               } else if (value.includes("，")) {
//                 value = value.split("，");
//               }
//             }
//           }
//         }
//         obj[key] = value;
//       }
//       uploadTableData.value.push(obj);
//     });
//     console.log("uploadTableData.value", uploadTableData.value);
//     if (errorNum.value > 0) {
//       ElMessage.error("导入数据存在问题，请仔细检查后再导入");
//     }
//   };
//   //上传文件的清除
//   const delUpload = () => {
//     console.log("文件选错了,需要重新选择");
//     uploadTableData.value = [];
//     errorNum.value = 0;
//   };
//   //文件上传请求
//   const uploadGroup = async () => {
//     const formData = new FormData();
//     formData.append("file", file.value);
//     const res = await uploadGroupService(formData);
//     getgroup();
//     ElMessage.success(res.message);
//   };
//   //文件上传
//   const submitUpload = () => {
//     uploadGroup();
//     console.log("开始将文件上传到服务器");
//     uploadTableData.value = [];
//     uploadDraw.value = false;
//     file.value = null;
//   };

//   return {
//     groupQueryData,
//     drawerVisible,
//     drawerTitle,
//     addGroupData,
//     rules,
//     addGroupForm,
//     uploadDraw,
//     uploadTableData,
//     loading,
//     groupTobaccoList,
//     groupTobaccoTotal,
//     submitUpload,
//     showUploadTable,
//     openUploadDraw,
//     delUpload,
//     submitEvent,
//     submitQuery,
//     clearQueryData,
//     groupSearch,
//     groupEdit,
//     groupDelete,
//     groupAdd,
//     groupSizeChange,
//     groupCurrentChange,
//     closeAddDraw,
//     getgroup,
//   };
// });
